1. Field of the Invention
The invention relates to the field of communications networks, and more specifically to the design thereof, and the measurement, visualization, prediction and optimization of the performance of data communication networks. A method and system to predict, visualize and optimize the performance of data communication networks is used to design, measure, monitor, troubleshoot and improve these data networks using an accurate site-specific model of the physical environment and the components comprising the data network.
2. Description of the Related Art
Communications networks are used to send information from one place to another. This information often takes the form of voice, video or data. To transmit information a communications network breaks down a message into a series of numbers. These numbers describe how to construct the information using some predetermined method. For example, the numbers could represent digital samples of the signal voltage that should be applied to a speaker so that the speaker reproduces the sound of the voice, as shown in FIG. 1. The information is in this case the voice message, which was transmitted over the communications network.
The process of representing information can be analog or digital. In an analog communications network the message that is transmitted is a continuously changing number. In a digital network, numbers that change at discrete, regular intervals, instead of continuously represents the message. The signal is represented by a single number each interval. This number may be converted to a binary form so that the entire message can be represented as a finite number of ones and zeros. Each binary digit in the message is called a bit. These bits are transmitted and interpreted by the receiver as the message. Binary and digital versions of a signal are shown in FIG. 2.
Data communication networks are a specific type of communication network that transmit digital information, represented as bits or bytes (a group of 8 bits), in an indoor or outdoor, wired or wireless network from a transmitter to a receiver. While conceptually simple, the means of transmitting the data from some point A to some point B are complicated and varied in implementation. Hundreds of protocols, hardware devices, software techniques and programs exist to handle how data is sent correctly and efficiently. The exact performance of a given data communication network is extremely difficult to predict or even measure because of this complexity and additionally because of the performance effects of the time varying nature of data communications networks and the channels they operate in.
Data communication network can be classified as either a circuit switched or a packet switched network. Both network types use channels to transmit information. A channel is a named communications path between users of a communications network. A channel may consist of many different individual hardware devices and is a specific route between a transmitter and a receiver. In a circuit switched network, information is transmitted by way of an exclusively reserved channel. A network channel is reserved for the sole use of a single transmission and bits are sent all at once. An example of this is the transmission of a document using a fax machine. In this case the fax machine converts the image of the document into pixels. Each pixel is a small, dot-sized, rectangular piece of the paper. Each pixel is considered to be either black or white. The data that will be transmitted is a series of bits that represent whether each dot is black or white. When the message (in this case an image of a document) is ready to be sent from one fax machine to another, a telephone circuit is dedicated to the data transfer by placing a telephone call on the plain old telephone system (POTS) communications network. The telephone line is used exclusively by the fax transmission, making it a circuit switched transmission. After establishing a connection, all data is sent from the first fax machine to the second in a single, long stream of bits. The bits in this case are transmitted as different frequency tones on the telephone line. A high pitched toned may represent a “1” while a low pitched tone may represent a “0.” The receiving fax receives the bits of the message by translating the series of high and low pitch tones into data bits. The receiving fax machine will then be able to reconstruct a copy of the original document by drawing a black dot at the locations indicated by the data bits.
Packet switched networks are another type of data communication networks in which all data bits are transmitted as many, small chunks of data bits called packets and sent individually from one location to another. A packet is a self-contained portion of a full message that is made up of a header, data bits, and sometimes footer. The packet contains information in the header and footer that allows the data communications network to properly transmit the packet and to know of which message the data in the packet is a part. The header generally is labeled with an identifier that the network uses to forward the packet to the correct receiver. The header and footer information are often used to reassemble the packet with other packets to reform the original message and to check if errors were made in the transmission of the packet. The receiver can assembles all received packets into the original message by throwing away the header and footer headings and reassembling the data bits from all packets into the original message.
Packet switched networks are classified as connection oriented or connectionless depending on how the packets are transferred. In connection-oriented networks, a network channel is used predefined for each transmission. While this transmission can consist of multiple packets, the route from transmitter to receiver is already established, so that all packets sent on this channel can immediately be sent directly to the receiver. Whereas, in connectionless networks, packets are sent simultaneously on a shared channel in multiple transmissions. In this case, packets require an identifier that gives the address of the receiver. This address is understood by the communications network to allow the packet to be properly sent to the correct receiver. Since each packet can be transmitted separately and thus interleaved in time with packets from other transmissions, it is generally more efficient to use a connectionless transmission method when using shared network resources.
An example of a connectionless, packet-based transmission is a file transfer between two computers on an internet protocol (IP) based, Ethernet network that both computers are attached to. In this case, the file that is to be transmitted is fragmented at the transmitter into appropriate packets and labeled with the IP address, which is the identifier used by the network to forward the packet to the correct receiver. The packets are then sent from the transmitting computer to the receiving computer. The Ethernet network is capable of supporting multiple file transfers from many different computers all using the same network by controlling the flow of packets from each destination in a shared fashion. The receiver then assembles the packets into an exact copy of the original file, completing the transmission.
All data networks utilize some form of communication protocol to regulate the transmission and reception of information. A protocol is the set of rules that all hardware and software on a communication network must follow to allow proper communication of data to take place. Many hundreds of protocols are in active use today in the worldwide exchange of information. Some of these protocols, such as the Transport Control Protocol (TCP) or the User Datagram Protocol (UDP), define the way in which the network is accessed. Other protocols, such as the Internet Protocol (IP) or the File Transfer Protocol (FTP), define how messages and packets are formatted, transmitted, and received.
All data communication networks may be analyzed in some fashion to evaluate the efficiency and performance of the network as well as to confirm the network is functioning properly. In order to evaluate the functionality of these data networks, certain performance criterion is used. These performance criteria include, but are not limited to: throughput, bandwidth, quality of service, bit error rate, packet error rate, frame error rate, dropped packet rate, packet latency, round trip time, propagation delay, transmission delay, processing delay, queuing delay, network capacity, packet jitter, bandwidth delay product and handoff delay time. Each performance criterion specifies a different performance parameter of a data communications network. These criterions are further described below.
A link is a portion of a path followed by a message between a transmitter and a receiver in a data communications network. Network connection often consists of individual devices relaying network packets from the transmitter to the receiver. This means a network connection can consist of several actual transmissions between the original transmitter and the intended receiver. Each individual relay is called a link. Typically a full network connection consists of several links. Performance criteria can be measured for each individual link.
Throughput is a measurement of the amount of data, which can be transmitted between two locations in a data network, not including header, footer or routing information bits. It is generally measured in bits per second (bps) and can be specified for hardware, software, firmware or any combination thereof that make up a connection between transmitter and receiver in a data communication network. Bandwidth is similar to throughput as it is defined for data communication networks. Bandwidth is the raw data rate that may be sustained by a given communications network and is generally slightly higher than throughput. For instance, an Ethernet link may be rated for a 10 Mbps bandwidth but a measurement of an actual file transfer may show that the rate at which data can actually be transferred between two computers using that same link is only a throughput of 6.8 Mbps as is taught in Peterson, L. L. and Davie, B. S., Computer Networks: A Systems Approach. San Francisco: Morgan Kaufmann Publishers, 2000.
Quality of service (QoS) is a term that is used to describe networks that allocate a certain amount of bandwidth to a particular network transmitter. Such a network will allow a transmission to request a certain bandwidth. The network will then decide if it can guarantee that bandwidth or not. The result is that network programs have a reliable bandwidth that can more easily be adapted to. When the quality of service of a connection is measured, the bandwidth that the network claims to offer should be compared to the actual bandwidth for different requested bandwidths.
FIG. 3 illustrates the difference between bits, packets, and frames. Various error rates are defined for data communication networks for bits, packets and frames. Bits are the core of packets and frames. The bits are the actual message data that is sent on the communications network. Packets include the data bits and the packet header and packet footer. The packet header and packet footer are added by communications network protocols and are used to ensure the data bits are sent to the right location in the communications network and interpreted correctly by the receiver. The packet header and packet footer are also used to ensure that packets are sent correctly and that errors are detected should they occur. Frames are simply series of bits with a certain pattern or format that allows a receiver to know when one frame begins or ends. A bit error rate is the percentage of bits that reach the receiver incorrectly or do not reach the receiver as compared to the number of bits sent. Packet error rate or dropped packet rate is the percentage of packets that reach the receiver incorrectly or do not reach the receiver as compared to the number of packets sent. A frame error rate is the percentage of frames that reach the receiver incorrectly or do not reach the receiver as compared to the number of packets sent.
Several terms are used to quantify the delay times of certain network events and may be expressed in time units of seconds. Packet latency is the time required to send a packet from transmitter to receiver, while Round Trip Time (RTT) is the time required for a packet to be sent from transmitter to receiver and for some sort of acknowledgement to be returned from the receiver to the original transmitter. Propagation delay, transmission delay, processing delay, and queuing delay describe the time required for different portions of a packet transmission to occur. The packet latency and round trip time of a network connection is found by summing the propagation delay transmission delay, processing delay and queuing delay of either a one way or round trip network connection. Propagation delay is the time required for a packet to traverse a physical distance from the transmitter to the receiver. Transmission delay is the time required from when the first bit of a packet arrives for the last bit of the same packet to arrive. Processing delay refers to the time required to subdivide a data message into the individual packets at the transmitter, and to the time required to recreate the full data message from the data packets at the receiver. Queuing delay refers to the time spent waiting for shared resources to be freed from use by other transmissions. These delay times are all useful for evaluating different aspects of a data communications network performance.
Two other network performance criteria are packet jitter and bandwidth delay product. Packet jitter is the variation in the arrival time of packets that are expected to arrive at a regular rate and is typically measured in time units of seconds. A bandwidth delay product is the number of bits that can be sent from a transmitter before the first bit sent actually reached the receiver. The bandwidth delay product is found by multiplying the packet latency of a certain link by the bandwidth of the same link.
Handoffs occur in wireless data networks when a user moves out of range of one access point and into range of another access point. In this situation, the first access point must pass the responsibility of delivering data to the wireless user to the second access point. The handoff time is the amount of time required by an access point to coordinate with another access point to allow a wireless user to connect from one access point to another access point.
Software utilities and hardware devices have been developed to measure the performance statistics of data communication networks throughout the lifetime of data communication networks. Some of the more common and relevant tools are briefly described here.
A large number of command line tools are available to quickly allow a computer user to measure the approximate network performance a connection. Many command line programs are widely used on Windows, UNIX, and Macintosh operating systems and are somewhat useful for diagnostic and troubleshooting work on data networks. Examples of these command line programs include ping and traceroute. Using the ping command line program, it is possible to measure approximate data latency between different data network devices and confirm that a network connection is available between the two devices. Network connections often consist of individual devices relaying network packets from the transmitter to the receiver. This means a network connection can consist of several actual transmissions between the original transmitter and the intended receiver. Each individual relay is called a link. Typically a full network connection consists of several links. Thus, using traceroute, a probable path from relaying device to relaying device between the transmitter and the receiver can be determined so that the exact links used by the network transmissions are known. Additionally, using traceroute, the time required to traverse each individual link can be measured, and individual links that may not be functioning properly can be identified.
Various command line tools that are not included with operating systems have also been developed for somewhat more accurate, though still approximate, network measurement tasks. Some examples of these tools include ttcp, and tcpdump. ttcp stands for Test TCP http://www.pcausa.com/Utilities/pcattcp.htm and is a free utility originally written for the BSD Linux operating system, but is now available for other UNIX operating systems as well as Microsoft Windows. ttcp is a basic point-to-point throughput measurement program that allows the user to control buffer sizes, various low level TCP or UDP options and control the exact data that is sent.
tcpdump is a simple utility from the class of tools called pack sniffers. Packet sniffers allow a network administrator to view the content, including header and footer information, of actual packets on a network. tcpdump allows a user to view (or “sniff”) packets that are received by a host (though not necessarily intended for that host) and display all headers that match a certain user configurable pattern. tcpdump is a useful tool for troubleshooting network connections because it allows the user a direct view of the exact network traffic.
Pathchar is a UNIX command line utility which is capable of measuring the throughput between each network relay device (e.g. a router, hub or switch) in a data communications network by varying the size of the test packets that it transmits and measuring the latency of that packet transmission to various network points. The tool functions very similarly to traceroute but adds the ability to measure throughput (albeit indirectly), not just latency. Pathchar is only limited by the network hardware in the links it measures. The program needs a hub, switch or computer to transmit an acknowledgement to the test packets. This means that hidden links that do not transmit acknowledgements such as Ethernet bridges can not be measured individually by pathchar.
Several companies produce network measurement, monitoring, tracking and forecasting utilities. Some of the commonly used utilities are discussed below. The tools selected are illustrative of the state of the art of network performance measurement and asset tracking.
netViz, made by netViz Corporation, is a visual database program that allows a network administrator to track network equipment in terms of its physical location and in terms of its logical layout. This program allows the user to input the settings, locations, and configurations of the network and track the assets in your network. The tool is capable of storing this data in a two dimensional geographic map or floor plan of a building, but can not track devices in a three dimensional manner. The tool, also, does not provide network testing, measurement or monitoring features, nor does it support communication prediction or performance visualization capabilities for data communication networks. It is simply a database for accurate and useful tracking of assets.
NetIQ Corporation (was Ganymede Software, Inc.) makes a network monitoring and forecasting tool called Chariot. Chariot is able to measure throughput and many other network statistics for all popular network types, operating systems and protocols available today. The program uses a server and several small agent programs to collect data. The server checks each agent, installed on user's computers throughout the network, at regular intervals and uses them to measure network characteristics while storing the results on the server. These agents can measure the network connection to the server or to one another and are capable of simulating the traffic patterns of any network program and any desired usage pattern of one or more hypothetical users. The program is also capable of using the measured data to forecast expected network traffic and conditions.
Visonael Corporation (was NetSuite Development Corporation) makes several network tracking and measurement products, including NetSuite Audit, Design and Advisor. These software products are capable of automatically detecting the network equipment in use. This information as well as manually entered information can then be placed in a physical or logical diagram of the network. Visonael also offers a product to verify that networks have been configured properly and can make recommendations for configuration changes and upgrades to your network. The software products are unable to predict or measure the performance in a site-specific manner and are not capable of predicting the performance of wireless based data communication networks.
SAFCO Technologies, Inc. (now a part of Agilent Technologies) has recently created several wireless data measurement and prediction products. SAFCO makes a product called DataPrint, which is used to measure various data performance parameters of mobile telephone data networks. Their WIZARD® product also supports analysis of the effects of wireless data transmission on the overall capacity and Quality of Service for a wireless telephone network.
Wireless Valley Communications, Inc. has created a new concept called SitePlanner, which is capable of measuring and tracking the site-specific network performance of a data communications network in a physically accurate three-dimensional model of an environment. SitePlanner uses a software module called LANFielder to measure throughput, packet latency and packet error rates for any wired or wireless network connection in any Internet Protocol (IP) data communications network. Additionally, SitePlanner allows a full network to be modeled in a physically accurate manner so that precise measurements and performance predictions can be made in a site specific way. SitePlanner also allows a logical layout of a network to be stored simultaneously with a physical layout. The tool also stores both a logical interconnection and a site-specific model of any communications network using a Bill of Materials format.
In addition to network measurement and asset management tools, a good deal of research has taken place in the field of wireless data communication network performance. The research described below represent the work, which pertains to the field of this invention.
Xylomenos and Polyzos have explored the performance of UDP and TCP packets sent over several fixed, IEEE 802.11 wireless LAN network connections in Xylomenos, G., Polyzos, G. C. “TCP and UDP Performance over a Wireless LAN” Proceedings of IEEE INFOCOM, 1999. The research has focused on throughput limitations caused by software implementation issues and operating system shortcomings. The researchers used their own modified version of the command line utilities ttcp, tcpdump and nstat under Linux to perform UDP and TCP throughput tests. All measurements were taken between three fixed locations and focused on varying the wireless LAN card types (PCMCIA or ISA) and the end-user computer hardware (i.e. Pentium 150 with 48 MB of RAM vs a Pentium 200 MMX with 64 MB of RAM). The conclusions the researchers make are recommendations for changes in the implementation of network protocols and linux operating system enhancements. The measurements did not consider the effects of different physical locations or the effect of variations in the wireless communications channel on the network throughput.
Maeda, Takaya and Kuwabara have published a measurement of wireless LAN performance and the validity of a Ray tracing technique to predict the performance of a wireless LAN network (Maeda, Y., Takaya, K., and Kuwabara, N., “Experimental Investigation of Propagation Characteristics of 2.4 GHz ISM-Band Wireless LAN in Various Indoor Environments,” IEICE Transactions in Communications, Vol. E82-B, No. 10 October 1999). The measurements were tracked in a small, highly radio frequency (RF) controlled environment and indicated that the wireless LAN throughput and BER were correlated to the delay spread of the wireless channel. The researchers have not however presented any way to actually predict a bit error rate or throughput from the predicted delay spread profile output by a ray tracing technique.
Duchamp and Reynolds have presented IEEE 802.11 wireless LAN, packet throughput measurement results for varying distances in Duchamp, D., and Reynolds, N. F., “Measured Performance of a Wireless LAN,” Local Computer Networks, 1992. Proceedings, 17th Conference on, 1992. These measurements were performed in a single hallway. Thus, these measurements, too, suffer from failing to measure a representative environment. The researches did not present a model to predict their results nor did they attempt to validate any sort of computer prediction technique.
Bing has also presented measured results of the performance of IEEE 802.11 Wireless LAN in “Measured Performance of the IEEE 802.11 Wireless LAN,” Local Computer Networks, 1999. LCN '99. Conference on, 1999. Bing presents delay and throughput measurements as well as theoretically based throughput and delay time tabulations for various wireless LAN configurations. The results are given as optimal results, however. All measurements were performed in such a way that the wireless channel had the least possible effect on the overall throughput and delay times. Therefore, the results presented are an upper bound on best possible results and do not extend into a site-specific wireless LAN performance prediction technique.
Hope and Linge have used measurements to calculate the needed parameters for predicting the coverage area of a Wireless LAN network in an outdoor environment by using the Okumura model. The researchers have made outdoor measurements with standard IEEE 802.11 wireless LAN modems to calculate the needed parameters of the Okumura model and have presented these results in Hope, M. and Linge, N., “Determining the Propagation Range of IEEE 802.11 Radio LAN's for Outdoor Applications,” Local Computer Networks, 1999. LCN '99. Conference on, 1999. Using these results, The coverage area outdoors could be calculated. However, the results do not allow the user to predict the performance in terms of throughput or latency of a wireless LAN.
Several patents related to, and which allow, the present invention are listed below:    U.S. Pat. No. 5,491,644 entitled “Cell Engineering Tool and Methods” filed by L. W. Pickering et al;    U.S. Pat. No. 5,561,841 entitled “Method and Apparatus for Planning a Cellular Radio Network by Creating a Model on a Digital Map Adding Properties and Optimizing Parameters, Based on Statistical Simulation Results” filed by O. Markus;    U.S. Pat. No. 5,794,128 entitled “Apparatus and Processes for Realistic Simulation of Wireless Information Transport Systems” filed by K. H. Brockel et al;    U.S. Pat. No. 5,949,988 entitled “Prediction System for RF Power Distribution” filed by F. Feisullin et al;    U.S. Pat. No. 5,987,328 entitled “Method and Device for Placement of Transmitters in Wireless Networks” filed by A. Ephremides and D. Stamatelos;    U.S. Pat. No. 5,598,532 entitled “Method and Apparatus for Optimizing Computer Networks” filed by M. Liron et al.    U.S. Pat. No. 5,953,669 entitled “Method and Apparatus for Predicting Signal Characteristics in a Wireless Communication System” filed by G. Stratis et al.    U.S. Pat. No. 6,061,722 entitled “Assessing Network Performance without Interference with Normal Network Operations” filed by W. J. Lipa et al.    U.S. Pat. No. 5,831,610 entitled “Designing Networks” filed by D. L. Tonelli et al.    U.S. Pat. No. 5,821,937 entitled “Computer Method for Updating a Network Design” filed by Tonelli et al.    U.S. Pat. No. 5,878,328 entitled “Method and Apparatus for Wireless Communication System Organization” filed by K. K. Chawla et al.
An existing product, SitePlanner, described in patent applications Ser. Nos. 09/352,678, 09/221,985, 09/318,842, 09/318,841, 09/318,840, and other inventions cited previously, are useful for designing measuring and optimizing communication networks because the products can predict radio frequency effects directly relevant to any communication network for any physical location. That is, using information about the physical layout of any communications network and the configuration of its hardware, prior art can provide a visual display of the expected received signal strength intensity (RSSI), signal to noise ratio (SNR), relative received power intensity, best server, and equal power location, as well as other useful parameters for voice and data networks, for any modeled physical location. These statistics can be predicted for the forward link (from a transmitter to a receiver), or for the reverse link (replies from the original receiver to an original transmitter) directions for wireless networks. The site-specific nature of these predictions translates directly into quick and useful visualizations of the quality of a communication network. However, the prior art does not consider methods for properly modeling (e.g. predicting) the complexities that go into determining the values for actual network operating performance parameters that are simultaneously affected by multipath propagation, multiple interfering data transmissions from multiple sources, signaling protocols, equalization methods, and the like. Predicting bit error rates, data throughput, delay, and quality of service metrics in a 3-D physical model of an actual site-specific environment is a very difficult task, and one which has not been solved heretofore, since different modem vendors have different and often-times proprietary methods for mitigating or dealing with multipath, multiple access interference, protocol type, packet size, and noise. That is, the state of the art shows how to measure and display and make predictions for basic communication metrics but does not provide specific prediction algorithms for a wide range of important data network performance parameters in a reliable, site-specific manner. Simply put, a wireless network performance prediction engine, which is able to consider an accurately modeled 3-D physical environment, and which exploits knowledge of specific component layouts, is not found in the prior art and is not obvious due to the complex nature of having to account for all possible physical, electrical, and logical factors for all components in a network, as well as the factors within the channel of a wired or wireless network, that lead to actual network performance.
Prior published papers in the area of communications networks do not demonstrate the ability of any invention to accurately predict three dimensional, site-specific network performance criteria. The paper mentioned earlier by Maeda, Y., Takaya, K., and Kuwabara, N., “Experimental Investigation of Propagation Characteristics of 2.4 GHz ISM-Band Wireless LAN in Various Indoor Environments,” IEICE Transactions in Communications, Vol. E82-B, No. 10 October 1999 has demonstrated the ability to predict the delay spread of a wireless channel and that the prediction correlates well with throughput, but the described method is not actually able to predict throughput or any other network performance criteria. While some prior art has demonstrated the ability to track network assets in a two dimensional manner with some physical accuracy, these products have not contemplated the ability to predict future network performance for similar or different physical environments (e.g. installations). Many products allow the measurement of network performance criteria, but no prior art has contemplated a 3-D representation of the physical environment with the physical installed base of components, for the purpose of predicting network performance parameters. Furthermore, no tool or invention exists that can directly measure, track the assets of, predict the network performance criteria of, and visualize the network performance criteria of a data communications network in a three-dimensional site-specific manner.
Furthermore, none of the prior art has considered an invention that can perform precise, site-specific, three dimensional performance prediction of complicated network parameters using a priori measurements from an existing network, or by using the site-specific layout details of particular components within a data communications network. Furthermore, none of the prior art has autonomously measured site-specific network performance parameters from an actual network system or subsystem using a system of agents, and then applying the specific 3-D locations and measured results of those measurement agents to create a 3-D prediction model for future network performance in the same, similar, or different physical environments. Furthermore, none of the prior art has developed a hierarchical system of measurement and prediction engines, that have the ability to measure network performance parameters in the field and have the ability to produce a predictive engine for network performance parameters that can be shared with remote prediction engines, for the purpose of measuring and predicting network performance in a 3-D site-specific manner.
The present invention extends the prior art in a non-obvious way to provide wireless and wired network performance prediction, visualization and measurement for important data communications-specific performance criteria, also called performance parameters such as throughput, bandwidth, quality of service, bit error rate, packet error rate, frame error rate, dropped packet rate, packet latency, round trip time, propagation delay, transmission delay, processing delay, queuing delay, network capacity, packet jitter, bandwidth delay product and handoff delay time in a site-specific, three dimensionally accurate manner. The invention contemplated here allows novel distributed measurement techniques for the above performance parameters. Furthermore, prediction methods for the above performance parameters are created, which use network measurements or applied values derived from other means, and which also use the radio frequency environment, the 3-D physical network layout, the channel propagation characteristics of a site-specific environment, and the specific physical layout of components, for the computation of predicted performance parameter values.